1. Field of the Invention
The invention relates to the field of database design and data storage, representation or manipulation. Specifically, it relates to improving the responsiveness of a client application (such as a media player application) and to reducing network latency and/or network traffic.
2. Description of the Related Art
Computing applications operating within a client-server architecture which require access to data from a remote database server are commonplace.
One historical problem, resolved by the present invention, with the said architecture is that such client applications exhibit greater latency (slower response times) due to the need to contact the remote database server for information. In addition, another problem—also solved by the present invention—with the said architecture is that they have historically consumed large quantities of network bandwidth when performing the said communications with the remote database server.
Historically, client applications have attempted to work around those issues by caching (keeping a temporary store of) some or all data supplied by the remote server. However, that technique itself has a number of serious limitations, the most major of which are assorted problems with determining how long data should be cached for.
A further historic problem which is resolved by the present invention is the provision of fresh (“currently active”) data to a newly installed client installation. Historically, new client installations request their initial data from the remote server by making large numbers of data requests to the remote database server, resulting in lengthy response times while that data is provided. The present invention solves that problem by providing a mechanism to permit the installation application to download pre-packaged data immediately on installation.
Finally, the “caching” method employed in all prior art results in a further problem, which is that changes to the database structure—such as the inclusion of additional tables or the restructuring of existing database tables—has necessitated that both the client application code and its corresponding local data stores need to be updated, with updates to the data stores causing the loss of some or all previously-cached information, requiring the said data to be downloaded.
In summary, the prior art makes use of data caching, which has problems with latency, program responsiveness and high network traffic and forces the re-downloading of previously-obtained data when a major restructuring of data is required. The methods disclosed by the present invention solve all of those historical problems.